The present invention lies in the general field of electronic devices, and it relates more particularly to an electronic device, e.g. such as a smart card, that is suitable for co-operating with an external terminal in order to perform a transaction, e.g. in the field of banking.
The invention applies more particularly, but in non-exclusive manner, to smart cards (or microcircuit cards) that comply with the ISO 7816 standard, for example. The invention relates in particular to making secure a smart card operating in compliance with the Europay Mastercard Visa (EMV) protocol.
In general manner, a smart card is designed to communicate with a device that is external to the card, otherwise known as a terminal or reader. Such cards enable various types of transaction to be carried out, such as for example payment transactions, direct debit transactions, or indeed authentication of the bearer. By way of example, smart cards for banking applications (credit cards, debit cards, etc.) are suitable for co-operating with payment terminals or with automatic teller machines (ATMs) in order to perform various financial operations.
EMV is the standardized protocol that is nowadays in the most widespread use throughout the world, in particular for securing payment transactions carried out with smart cards.
The EMV protocol was designed to reduce the risk of fraud during a payment transaction, in particular by making it possible to authenticate both the smart card and its bearer. The authentication process relies on a combination of cryptograms (or encrypted keys) and of digital signatures, and it optionally requires the bearer of the card to input a secret code (commonly referred to as a personal identification number (PIN)).
Depending on the type of card used, on the situation, or indeed the amount in question, an EMV card may operate on-line or off-line. In on-line mode, the EMV card may communicate via the reader with the corresponding issuing entity (the bank from which the card originates, for example) in order to verify in particular that the current transaction is legitimate. In contrast, if the EMV card is operating in off-line mode, it applies previously-stored verification criteria in order to decide whether the transaction is to be authorized or refused.
Numerous security mechanisms have recently been developed in order to make the increasing use of smart cards, as secure as possible, in particular for cards of the EMV type.
Nevertheless, smart cards are nowadays subjected to a type of malicious attack for which no satisfactory protection has yet been developed. This attack consists in sending a so-called “script” command from the entity that issued the smart card for the purpose of modifying one or more operating parameters of the card. The modification generally relates to sensitive operating parameters of the card such as the counts in internal counters or limiting thresholds to be complied with (limits on off-line payment, etc.). The command may also relate to updating the configuration of the smart card, leading to a sensitive change in the way the smart card processes transactions.
In the context of such an attack, the script commands that are sent are authentic in the sense that they present all of the characteristics of a valid script command as generated and sent by the issuer of the card in order to modify one or more of its operating parameters. Nevertheless, such script commands are fraudulent in intention in the sense that such commands are sent without prior authorization of the issuer (e.g. the bank).
Insofar as these script commands present all the characteristics of a valid command (authentic message authentication code (MAC) cryptogram, etc.), they are normally executed by smart cards.
Such fraudulent script commands may be sent in particular with the connivance of a malicious person having access to the communications interface of the issuer. For example this person may be an ill-intentioned employee of the bank that issued the smart card, or indeed a third party or a program having access to infrastructures that enable such commands to be sent. That is why this type of attack is sometimes referred to as an “insider” attack, since such fraudulent commands are generally sent from the entity that issued the smart card concerned.
The risks in terms of security are thus particularly high because of the sensitive character of the operating parameters that can be modified fraudulently in a smart card during such an attack. This risk is further increased by the fact that a large number of fraudulent script commands can be sent massively to multiple smart cards.
At present, there thus exists a need to make secure smart cards (in particular of the EMV type), and more generally any electronic device suitable for co-operating with an external terminal in order to implement a transaction. In particular, at present, no satisfactory solution exists for mitigating the security risks associated with an attack of the insider type, as explained above.